package com.tianma315.core.supplier.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;

import com.tianma315.core.common.base.CoreServiceImpl;
import com.tianma315.core.constant.StateEnum;
import com.tianma315.core.supplier.dao.SupplierTypeDao;
import com.tianma315.core.supplier.domain.SupplierTypeDO;
import com.tianma315.core.supplier.service.SupplierTypeService;
import org.springframework.stereotype.Service;




import java.util.List;

/**
 * 
 * <pre>
 * 供应商类型
 * </pre>
 * <small> 2019-08-02 10:48:37 | web</small>
 */
@Service
public class SupplierTypeServiceImpl extends CoreServiceImpl<SupplierTypeDao, SupplierTypeDO> implements SupplierTypeService {

    @Override
    public boolean deleteSupplierTypeById(Integer id) {
        SupplierTypeDO supplierTypeDO = new SupplierTypeDO();
        supplierTypeDO.setState(StateEnum.is_del.getCode());
        supplierTypeDO.setSupplierTypeId(id);
        boolean flag = updateById(supplierTypeDO);
        return flag;
    }

    @Override
    public Page<SupplierTypeDO> getSupplierTypePage(Integer pageNumber, Integer pageSize, SupplierTypeDO supplierTypeDTO) {
        Page<SupplierTypeDO> page = new Page<>(pageNumber, pageSize);
        Wrapper<SupplierTypeDO> wrapper = new EntityWrapper<SupplierTypeDO>();
        wrapper.eq("state", StateEnum.not_del)
//                .eq("merchant_id",supplierTypeDTO.getMerchantId())
                .like("type_name",supplierTypeDTO.getTypeName());

        page = selectPage(page, wrapper);
        int total = selectCount(wrapper);
        page.setTotal(total);
        return page;
    }

    @Override
    public boolean addSupplierType(SupplierTypeDO supplierTypeDO) {
        supplierTypeDO.setState(StateEnum.not_del.getCode());
        boolean flag = insert(supplierTypeDO);
        return flag;
    }

    @Override
    public List<SupplierTypeDO> getSupplierTypeList(SupplierTypeDO supplierTypeDO) {
        Wrapper<SupplierTypeDO> wrapper = new EntityWrapper<SupplierTypeDO>();
        wrapper.eq("state", StateEnum.not_del);
//        wrapper.eq("merchant_id",supplierTypeDO.getMerchantId());
        List<SupplierTypeDO> supplierTypeDOList = selectList(wrapper);
        return supplierTypeDOList;
    }
}
